/*
 * @Author: qjb 
 *  文件资源
 * @Date: 2018-06-26  
 */
layui.config({}).use(['zlConfig', 'zlContext', 'form','element'], function (exports) {
	var $ = layui.$,
		zlContext = layui.zlContext,
		layer = layui.layer,
		zlConfig = layui.zlConfig,
		statusName = zlConfig.global.result.statusName,
		msgName = zlConfig.global.result.msgName,
		dataName = zlConfig.global.result.dataName,
		ERROR = zlConfig.global.result.errorState,
		OK = zlConfig.global.result.okState,
		element = layui.element,
		form = layui.form;
	var uservo = zlContext.getCurrentUser().userCursor;

	function checkPassWord(value) {
		// 0： 表示第一个级别 弱 1：表示第二个级别 中 2：表示第三个级别 强
		// 3： 表示第四个级别 4：表示第五个级别
		var modes = 0;
		if (value.length < 6) { //最初级别
			return modes;
		}
		if (/\d/.test(value)) { //如果用户输入的密码 包含了数字
			modes++;
		}
		if (/[a-z]/.test(value)) { //如果用户输入的密码 包含了小写的a到z
			modes++;
		}
		if (/[A-Z]/.test(value)) { //如果用户输入的密码 包含了大写的A到Z
			modes++;
		}
		if (/\W/.test(value)) { //如果是非数字 字母 下划线
			modes++;
		}
		return modes;
	}
	$('input[name="RWID"]').val(uservo.RWID);

	form.verify({
		oldPassword: function (value, item) {
			if (md5(value).toUpperCase() !== uservo.PSW) {
				return '旧密码不正确，无法修改密码！';
			}
		},
		pass: function (value, item) {
			if (value == "") {
				return '密码不能为空';
			}
			// 0： 表示第一个级别 弱 1：表示第二个级别 中 2：表示第三个级别 强
			// 3： 表示第四个级别 4：表示第五个级别
			var pscheck = parseInt($('input[name="PassStrongCheck"]').val());
			if (pscheck !== "none") {
				var pstrong = checkPassWord(value);
				if (pstrong < pscheck) {
					var msg = '密码强度不够，';
					if (pscheck == 1) {
						msg += '需为中以上的强度才能修改';
					} else if (pscheck == 2) {
						msg += '需为强以上的强度才能修改';
					} else if (pscheck == 3) {
						msg += '需为很强以上的强度才能修改';
					} else if (pscheck == 4) {
						msg += '需为最强的强度才能修改';
					} else {
						msg += '无法修改';
					}
					return msg;
				}
			}
			if ($('input[name="newPassword"]').val() !== $('input[name="repassword"]').val()) {
				return '两次密码输入不一致';
			}
		}
	});
	$('input[name="newPassword"]').on('keyup',function(){
		var newLevel = checkPassWord($(this).val());
		if ($(this).val() == '') {
			element.progress('strenth', '0');
			$('span.strenth_Text').html('无').css('color','#666');
			return;
		}

		function progress(barColor, length, strenthText, textColor){
			$('div.layui-progress-bar').removeClass(function(index, classname){
				return classname.substr(19)
			}).addClass('layui-bg-' + barColor)
			element.progress('strenth', length);
			$('span.strenth_Text').html(strenthText).css('color',textColor);
		}

		switch (newLevel) {
			case 0:
				progress('red','20%','弱','#FF5722')
				break;
			case 1:
				progress('orange','40%','中','#FFB800')
				break;
			case 2:
				progress('blue','60%','强','#1E9FFF')
				break;
			case 3:
				progress('green','80%','很强','#277FD0')
				break;
			case 4:
				progress('cyan','100%','最强','#2F4056')
				break;
		}
	});

	form.on('submit(setmypass)', function (obj) {
		var param = obj.field;
		param.PSW = md5(param.newPassword).toUpperCase();
		zlContext.post(layui.cache['contentPath'] + '/admin/coreuser/modifypassword', param, function (result) {
			if (result[statusName] == OK) {
				zlContext.successAlert('密码修改成功，请重新登录！', function () {
					top.location.href = layui.cache['contentPath'] + '/logout';
					return true;
				});
			} else {
				zlContext.errorMsg(result[msgName]);
			}
		});
		return false;
	});


});